const path = require('path');
const glob = require('glob');
const { defineConfig } = require('@vue/cli-service');
const webpack = require("webpack");

let timeStamp = new Date().getTime();

const pageConfig={
  index : {
    entry: 'src/main.js', // page 的入口
    template: 'public/index.html', // 模板来源
    // 在 dist/index.html 的输出
    filename: 'index.html',
    // 当使用 title 选项时，template 中的 title 标签需要是 <title><%= htmlWebpackPlugin.options.title %></title>
    chunks: ['chunk-vendors', 'chunk-common', 'index']
  },
  indexM : {
    entry: 'src/pages/mobile/main.js', // page 的入口
    template: 'public/indexM.html', // 模板来源
    // 在 dist/index.html 的输出
    filename: 'indexM.html',
    // 当使用 title 选项时，template 中的 title 标签需要是 <title><%= htmlWebpackPlugin.options.title %></title>
    chunks: ['chunk-vendors', 'chunk-common', 'indexM']

  }
}

module.exports = defineConfig({
  transpileDependencies: true,
  // 基本路径
  publicPath:'',
  /**生产环境是否生成  .map文件 true生成**/
  productionSourceMap: false,
// 输出文件目录
  outputDir: 'dist',
  //资源文件夹添加随机数
  assetsDir: 'static_'+timeStamp,

  indexPath: 'index.html',

  configureWebpack: {    //js随机数
    output: { // 输出重构 打包编译后的js文件名称,添加时间戳.
      filename: `js/js[name].${timeStamp}.js`,
      chunkFilename: `js/chunk.[id].${timeStamp}.js`,
    },

    //全局导入,jquery
    plugins: [
      new webpack.ProvidePlugin({
        $:"jquery",
      })
    ],
  },
  css: { //css 随机数
    extract: { // 打包后css文件名称添加时间戳
      filename: `css/[name].${timeStamp}.css`,
      chunkFilename: `css/chunk.[id].${timeStamp}.css`,
    }
  },

  chainWebpack: (config) => {
    config.plugin('define').tap((definitions) => {
      Object.assign(definitions[0], {
        __VUE_OPTIONS_API__: 'true',
        __VUE_PROD_DEVTOOLS__: 'false',
        __VUE_PROD_HYDRATION_MISMATCH_DETAILS__: 'false'
      })
      return definitions
    });

  },

   pages: pageConfig,
});


